跟我学Scratch第六十二讲:火柴人PK教程 | 您所在的位置:网站首页 › scratch编小游戏 教程 › 跟我学Scratch第六十二讲:火柴人PK教程 |
一直想做一个火柴人的小游戏,而且做成街霸的模式,一定很有意思。但是想了很久没行动,就是考虑造型太多了,动作多就意味着造型多,一直没想明白怎么做会省事些,**近突然灵机一动,想到了如何去快速做火柴人造型的方法,所以就把这个游戏做出来了,虽然这个游戏没太多技巧,但是CC哥自己觉得很好玩,分享给大家一起试试。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 讲程序前先说些题外话,如何学习scratch编程,CC哥分享些自己的体会,CC哥很不赞成很多教编程的做法,就是一步一步告诉小朋友怎么做,scratch是积木编程,既然是积木,那么创造性和思路就是**重要的,而不是去模拟。毕竟学Scratch不是学数据结构和考算法,不跟着老师一步一步学很难掌握知识。Scratch就是积木,你拿到一堆积木,首先了解每个积木的形状,以及一些简单造型的拼法,熟练以后,更多的就应该自己去创作自己的作品,看到了房子就拼个房子,看到汽车就拼个汽车,喜欢拼什么,只要有个想法,就可以去尝试,错了就重新改重新拼,直到做到自己喜欢开心为止。也不追求一定要完美无缺,或者是比别人做的好,要学会自己欣赏自己的创作,体会创作过程中的开心。这才是Scratch学习中的快乐。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 所以今天CC哥讲这个小游戏的时候,就不强调一步步的积木了,而着重讲思路,希望小朋友们自己做自己的火柴人小游戏。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 创作思路fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 不知道为什么,CC哥就是想做个火柴人打架的游戏,可能是因为以前看过的一些动画片,火柴人这个造型对我印象很深。既然有了这个想法,那么就开始考虑,这个想法怎么实现,能不能实现,关键的技术点有哪些?fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com
fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 1:游戏并不复杂,但是动作多,造型多,怎么很容易的设计这么些造型?fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 2:既然要打架,那么就是人人对打或人机对打,相对来说肯定人机对打有点难度,CC哥要做人机对打,这样一个人就能玩了。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 3:人机对打**复杂的就是人机之间的同步协调了,肯定是用消息的广播和接受来做,虽然复杂些,但是没什么难度。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 然后,没什么然后啦,后面其他的内容都是之前很熟练的技巧了,这就意味着可以开干了!fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 火柴人基本动作fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 既然开干,那首先火柴人的基本动作造型需要设计出来。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 第一:走路的基本动作,这个动作是CC哥网上找的,没花精力。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com
第二:跳的造型暂时不需要特别的造型了。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 第三:出拳的造型。这个是自己做的。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com
分享一下关键技巧:fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com
看懂没?就是造型里的变形这个工具!!!fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 以前CC哥虽然知道这个工具,但是因为用的不多,所以也没特别去注意它,只有在做这个火柴人的时候,才发现这个工具这么有用,首先,只要用变形工具去点任何一个线条,那么这个线条里有几个转折点就都出来了,你可以任意增加转折点,然后拖拽进行变形操作,也可以双击一个转折点,把这个转折点取消掉。正是利用这个工具,CC哥开始设计各种造型。让这个游戏变得生动起来。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 第四:踢腿:fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com
第五:跳踢:fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com
第六:大招:fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com
这些造型就是CC哥用变形工具自己创意出来的,好玩吧,小朋友尽可以自己设计自己的无敌大招。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 玩家火柴人控制fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 下面我们过一下程序思路,首先考虑如何控制:fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 1:行动控制键:fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 这个就用上下左右来控制。上是跳跃,下是防御姿势,左是向左移动,右是向右移动。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 2:攻击控制键fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 这个就用z,x,c,v来控制,z就是出拳,x就是出腿,c就是跳踢,v就是大招。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 简单看一下程序,内容太多,因为不复杂,不全部贴出来啦,大家可以自己学着写:fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com
这是个起跳的例子,其中跳这部分是标准的程序,大家都非常熟悉了,不用解释。而这里面的三个等待命令其实都是对火柴人动作状态的判断,比如火柴人正在攻击的时候是禁止跳跃的,否则你的火柴人在一套动作还没完成前,你按下了向上的箭头,火柴人的动作就会被打乱。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 所以这个游戏的难度不大,但是各种状态的控制却要想的周到严谨些,游戏才做的顺畅好玩。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 广播fall这个消息,主要是考虑到很多动作都会有下落的过程,所以用fall这个消息通知小人下落。可以节省代码的编写。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 特别注意一下,一般这种跳跃的游戏,通常的讲座里都是教大家用个独立的无限循环,就是不论什么时候,小人只要不在绿色台子上就会下降。这样编程时就不用考虑下落这部分,只要做起跳就好。这里CC哥用了另一种方法,就是用广播消息的做法,也就是只有广播了下落的消息,小人才会执行下落的程序。那么这种做法就是需要在所有涉及到需要下落动作的部分广播下落的消息,从而执行下落的命令。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 这两种做法有些区别,在程序设计上需要注意的点不一样,同时执行效果也会略有不同,大家可以自己试试,看看什么情况下用哪种更合适。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com
左右移动的就是要控制切换造型,我们把造型切换用个变量来代表造型编号,用循环操作就实现了走路时的造型切换。当然还要检测一下边界,如果走出了边界,就要广播下落的消息了。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 这是防御操作,对应了一组造型:fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com
fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com
注意这里面值得注意的是,CC哥用了两个当按下向下箭头的事件,一个是展示防御的造型,和设置防御的状态。一个是保证火柴人玩家始终面向机器玩家。为什么没放在一个里面,大家可以想想,试一下。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com
这个下落没什么特别,但是有一点,就是大家做重力下落时都会做一个回退的处理,CC哥以前的讲座里也有很多。但是这里的回退处理,CC哥就用了一句将y坐标直接设定成-37,这么处理的原因是因为平台的高度是固定的,所以没必要做之前讲的回退处理的复杂操作,而且效果也非常好。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 下面介绍攻击的程序:fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 用z键代表出拳,很容易,切换造型就行,不过在玩家被击中的时候不能出拳,所以要加一条等待命令,等待被击中不成立。(这个程序的状态检测都是用的带条件的等待命令,而不是用循环去判断变量的状态)fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 另外,如果击中了机器玩家,需要广播消息给机器玩家,让机器玩家进行被击中的对应操作。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com
fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 踢腿的动作跟出拳比较类似,不解释了。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 跳踢的动作就稍微复杂些,分了三部分:fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 1:跳起来的动作,除了加上起跳,同时还要向前移动。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 2:起跳的过程中有造型切换。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 3:降落的过程其实是重击的过程,要加速向下和向前移动,有一个狠狠重击的效果。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 当然,这是CC哥想象着设计的,大家也可以设计个别的样子的重击,好玩就行。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 给大家再看一下效果:fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com
fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 这段程序写的比较长:fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com
这个是完成跳踢的造型切换的程序,单独放出来是想实现动作的并行。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com
有点长,第一个图是正常的起跳加上了平移的操作。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 第二个图上半部分把下落的速度加快了一倍,不像以前大家学的就是个重力效果,而是平方的关系,一开始慢,后来猛地加速。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 下半部分是下落过程的平移操作,也不是匀速平移了,而是加速度平移。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 玩家的程序里还包括很多内容:fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 1:被打下擂台或者自己掉下擂台的操作。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 2:被机器人打中的操作。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 3:被打倒的操作,以及胜利的操作。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 4:大招的操作。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 这些就不一一介绍了,大家自己看源代码吧。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 机器玩家的操作fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com
fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 大家看,机器玩家CC哥没做那么复杂,总结一下:fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 1:首先始终往玩家跟前凑,凑近了就开打。当然如果凑的太近,还要退开一些。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 2:招式就三种,出拳,出腿,跳踢。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 当然大家也可以把一些防御或者大招加进来,编程逻辑思路跟玩家差不多,CC哥就不多编写了。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com
这就是主程序,很简单。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com
这个就是随机攻击的模式。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 其他的部分跟玩家的程序都差不多,就不一一列举了fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com
fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 当被击中的时候,不能做出攻击,所以要设定变量状态,你也可以在里面加入等待命令,让被击中后一定时间内不能做出反应。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com
其他fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 其他的部分,CC哥一样做的比较简单:fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 血条,这个是画的:fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com
fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 落下的彩色纸片:fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 造型fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com
克隆200个。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com
克隆后的动作,特意这么做是想告诉大家既可以写到一个当克隆体启动事件里,也可以并行,每个事件写一个。每个事件写一个看着程序复杂,但是思路简单,而且很容易看懂。所以程序不见得非要做的短小精悍,越短小精悍的程序越难看懂,不光别人看不懂,估计过了几天之后,自己都看不懂了。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 编程建议fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 在这一讲里面,其实有两点需要建议给大家:fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 1:注意减少全局变量的应用,如果某一个变量只存在一个角色里,跟其他角色没有关系,那么就请用”仅适用于当前角色”的变量。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 2:如果你不喜欢注释的话,那么程序在编写的时候,可以做的复杂些,减少一些判断,或者多起一些进程动作,而不要都合并在一个进程里,这样在维护的时候或修改的时候更容易。fDd少儿编程网-https://www.mayizhongjianmingongfuwu.comfDd少儿编程网-https://www.mayizhongjianmingongfuwu.com来源 CC哥教你编程fDd少儿编程网-https://www.mayizhongjianmingongfuwu.com 相关文章: 跟我学Scratch第六十一讲:赛车2教程跟我学Scratch第六十讲:赛车教程跟我学Scratch第五十九讲:植物大战跟我学Scratch第七十八讲:植物大战跟我学Scratch第五十七讲:简易文本跟我学Scratch编程:五十六、自动生转载:感谢您对少儿编程网的认可,以及对我们原创作品以及精心收集文章的青睐,非常欢迎各位朋友分享到朋友圈,但转载请说明文章出处“来源少儿编程网”https://www.mayizhongjianmingongfuwu.com/Codes/157655972617947.html。 支持一下 ( ) 上一篇:跟我学Scratch第六十一讲:赛车2教程 下一篇:跟我学Scratch第六十三讲:小动画—我和我的祖国教程 Tags:跟我学Scratch |
CopyRight 2018-2019 实验室设备网 版权所有 |